The present patent application may be related to the following commonly-owned United States patent applications, which are hereby incorporated herein by reference in their entireties:
U.S. patent Application No. 09/512,576, entitled APPARATUS AND METHOD FOR BINDING A CONNECTION-ORIENTED CLIENT TO A COMMUNICATION CHANNEL, which was filed in the name of Richard Crump on even date herewith, still pending;
U.S. patent application No. 09/511,744, entitled MANAGING ADDRESSES IN A COMMUNICATION SYSTEM, which was filed in the names of Richard Crump and Debra Guttormsen on even date herewith, still pending; and
U.S. patent application No. 09/511,777, entitled ENCODING ADDRESSES IN A COMMUNICATION SYSTEM, which was filed in the names of Okoziem Allen and Richard Crump on even date herewith, still pending.
1. Field of the Invention
The invention generally relates to computer networks, and more particularly, to correlating data streams generated for use with different network protocols.
2. Background Art
Computers in a network communicate with each other by using a common communications protocol. Communications protocols can be classified as being either connectionless or connection-oriented.
Connectionless protocols route each data packet in a transmission separately, leaving the packets to make their own way through the network. Data packets within a transmission may take different routes through the network depending on the type of routing used and the volume of data traffic, and may, therefore, arrive at the destination out of sequence. Thus, a sequence number is placed on each data packet by the sending device, and the destination device reassembles the data packets in the correct order. One widely used connectionless protocol is the Internet Protocol (IP). IP uses the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP) to perform network routing functions and multiplexing of simultaneous logical connections over a single physical connection.
Connection-oriented protocols route data packets by establishing a virtual circuit between the source and destination. One routing decision is made when the connection is established and all data packets in the session follow the same network route. Connection-oriented protocols require that the virtual circuit be opened at the beginning of a transmission by a control packet from the sender that instructs all intervening network devices to establish the circuit routing. Similarly, at the end of a transmission the sender must send a control packet closing the virtual circuit. Data Link Switching (DLSw) is a connection-oriented forwarding mechanism for the IBM Systems Network Architecture (SNA). Qualified Logical Link Control (QLLC) is a protocol that allows SNA data to be transported across connection-oriented X.25 networks. Considerable configuration support is required of network router software to implement QLLC for various Data Link Switching (DLSw) protocol network topologies.
Data routing in a connection-oriented protocol is typically based a Media Access Control (MAC) hardware address that is uniquely associated with each node in the network. A Media Access Control (MAC) layer is generated as a sublayer (along with a Logical Link Control, LLC layer) of a Data Link Control (DLC) layer. MAC addresses sometimes are called burned-in addresses (BIAs) because they are burned into read-only memory (ROM), and are copied into random-access memory (RAM) when the interface card initializes. To complicate matters, the connection-oriented X.25 network also uses X.121 addresses to identify source and destination for message streams.
When a router device is used to interconnect a device in one network, such as a connection-oriented DLSw network, with a device in another network, such as a connection-oriented X.25 network, an address configuration table must be configured in order to map each device to the other. For example, when mapping DLSw devices and X.25 devices, the information in the address configuration table includes source and destination MAC addresses for the DLSw devices, and calling and called X.121 addresses for the X.25 devices. One table entry is made in the address table for each pair of interconnected devices. In order to establish a connection between a DLSw device and an X.25 device, a router device refers to the address configuration table entries to establish a dynamic routing mapping, for example in a dynamic routing table, that is used for the two-way exchange of data messages between the mapped devices. At the end of a communications session, the dynamic routing table entry may be positively deleted by the router, or, may simply xe2x80x9cagexe2x80x9d out of the dynamic routing table.
Even in a relatively simple network topology, a significant number of address configuration table entries may need to be entered. This may be a tedious, time-consuming process of a network technician with many other pressing tasks to be performed. In addition, entering a large number of addresses by hand is likely to result in a significant number of errors.
In accordance with one aspect of the invention, a single address configuration table entry maps multiple source devices in a source network to a single destination device in a destination network. This simplifies configuration of the address configuration table. The single address configuration table entry is used when any of the source devices initiates a connection to the destination device. The single address configuration table entry includes a xe2x80x9cwildcardxe2x80x9d for matching the source address of connection requests that are originated by any of the multiple source devices and destined for the destination device. When a connection is initiated by a source device, certain address/channel information is dynamically allocated in order to map the source device to the destination device. The address/channel information that is dynamically allocated does not need to be pre-configured for each device, which simplifies configuration of the network devices. A dynamic routing table entry is installed in a dynamic routing table in order to map the source device to the destination device using the dynamically allocated address/channel information.